
// import mysql = require("mysql")
// import { Logger } from "./Logger";
// import fs = require("fs")


// export class MySqlUtil {

//     // source /home/haolong/customer.sql
//     // customer
//     // 4vJdt9TLBf76
//     private static MySql_Host: string = ""; //
//     private static MySql_Port: number = 3306; //
//     private static MySql_User: string = ""
//     private static MySql_Pass: string = "";
//     private static Mysql_database: string = "";

//     private static connection: any;

//     private static isInited: boolean = false;

//     public static preload(configPath: string="config/mysql.json") {
//         return new Promise((resolve, reject) => {
//             fs.readFile(configPath, (err, data: Buffer) => {
//                 if (err) throw err;
//                 let obj: Object = JSON.parse(data.toString());
//                 this.initConfig(obj);
//                 resolve();
//             });
//         });
//     }

//     private static initConfig(obj: Object) {
//         this.MySql_Host = obj["host"];
//         this.MySql_Port = obj["port"]
//         this.MySql_User = obj["user"];
//         this.MySql_Pass = obj["pass"]
//         this.Mysql_database = obj["database"];
//     }

//     public static init() {
//         if (this.isInited) {
//             return;
//         }
//         this.isInited = true;
//         let config: object = {
//             "host": this.MySql_Host,
//             "port": this.MySql_Port,
//             "user": this.MySql_User,
//             "password": this.MySql_Pass,
//             "database": this.Mysql_database
//             // "charset":'utf8mb4'
//         };
//         this.connection = mysql.createConnection(config);
//         this.connection.connect();

//         // let test:string = "SELECT * FROM users;";
//         // let test:string = "INSERT INTO users values(null, 100003, 'test3', 'nickname3');";
//         // this.executeSql(test);
//     }

//     public static select(sql: string, callback: Function = null) {
//         // let  sql = 'SELECT * FROM websites';
//         //查
//         this.init();
//         this.connection.query(sql, (err, result) => {
//             if (err) {
//                 Logger.error('[SELECT ERROR] - ', err.message);
//                 if (callback) {
//                     callback(err)
//                 }
//                 return;
//             }
//             // Logger.log("select resp=", result);
//             if (callback) {
//                 callback(err, result)
//             }
//         });
//     }

//     public static insert(sql: string, addSqlParams: Array<any>, callback: Function = null) {
//         // var  addSql = 'INSERT INTO websites(Id,name,url,alexa,country) VALUES(0,?,?,?,?)';
//         // var  addSqlParams = ['菜鸟工具', 'https://c.runoob.com','23453', 'CN'];
//         // REPLACE INTO table (id, name, user, passwd) VALUES (1, '极客点儿', 'admin', 'abcdef');
//         this.init();
//         //增
//         this.connection.query(sql, addSqlParams, (err, result) => {
//             if (err) {
//                 Logger.error('[INSERT ERROR] - ', err.message);
//                 if (callback) {
//                     callback(err)
//                 }
//                 return;
//             }
//             Logger.log("INSERT resp=", result);
//             if (callback) {
//                 callback(err, result)
//             }
//         });
//     }

//     public static update(modSql: string, modSqlParams: Array<any>, callback: Function = null) {
//      // REPLACE INTO table (id, name, user, passwd) VALUES (1, '极客点儿', 'admin', 'abcdef');
//         // var modSql = 'UPDATE websites SET name = ?,url = ? WHERE Id = ?';
//         // var modSqlParams = ['菜鸟移动站', 'https://m.runoob.com', 6];
//         this.init();
//         //改
//         this.connection.query(modSql, modSqlParams, (err, result) => {
//             if (err) {
//                 Logger.error('[UPDATE ERROR] - ', err.message);
//                 if (callback) {
//                     callback(err)
//                 }
//                 return;
//             }
//             Logger.log("UPDATE resp=", result);
//             if (callback) {
//                 callback(err, result)
//             }
//         });
//     }

//     public static delete(delSql: string, callback: Function) {
//         // var delSql = 'DELETE FROM websites where id=6';
//         this.init();
//         //删
//         this.connection.query(delSql, (err, result) => {
//             if (err) {
//                 Logger.error('[DELETE ERROR] - ', err.message);
//                 if (callback) {
//                     callback(err)
//                 }
//                 return;
//             }
//             Logger.log("DELETE resp=", result);
//             if (callback) {
//                 callback(err, result)
//             }
//         });
//     }

// }